Las 4 P's de PRESSMAN

Inicialmente eran 3, luego se agregó la cuarta

Ejemplo: En la primer etapa del ciclo de vida de esta metodología de sistemas consistente en la ingeniería de software, o sea PESI (planeamiento estratégico de los sistemas de información), el alcance es la organización en su totalidad y el objetivo es la creación de una estrategia en sistemas, alinear los sistemas al contexto de la organización. En la siguiente etapa ANÁLISIS, el alcance es por áreas o sectores (divisional, seccional, funcional, geográfico o por unidades de producto) y el objetivo es la generación de un bosquejo con todos los requerimientos del usuario a considerar en el diseño.

En el DISEÑO, el alcance es la aplicación propiamente dicha y el objetivo es generar una foto, que contemple las especificaciones del bosquejo alcanzado en la etapa anterior. Luego del diseño no deben generarse sorpresas, si en la codificación surge la necesidad de tomar alguna decisión significa que no se realizó un diseño adecuado.

Se tiene que especificar lo más completo posible para que el desarrollador lo comprenda y la generación de código sea automática o semi-automáticas mediante las herramientas CASE (Ingeniería de Software asistido por computadora). Se reduce el esfuerzo en programación que antes de esta metodología implicaba un 80%.

Establece también soluciones alternativas, restricciones técnicas y de gestión (presupuesto/tiempos)

  • Proceso: Define el marco de trabajo (modelos: Modelo de descomposición funcional, modelo de datos: DEL, modelo de procesos: DFD) de qué forma lo voy a hacer. Modelos: Espiral, prototipos?
  • Proyecto: Implica planificar el proyecto supervisar y controlar.
  • Lo más caro en un proyecto informático integral es el software. Inicialmente el mayor costo correspondía al HW, que ahora cambia salvo proyectos excepcionales. El desarrollo de software es una empresa humana, hasta ahora no hay pc 's que se programan solas.

    Existen diferentes dificultades para conseguir recursos humanos. Costo en SAP (u otros enlatados) en la adaptación a las necesidades de la empresa (customización).

    Puede ser una gran noticia (sobredemanda).

    Por cada ingreso en el país queda más de lo que se va.

    Existe distintas dificultades a la hora de conseguir RRHH:

    Ley de rendimientos decrecientes

    David Ricardo en economía agraria. Se aplica a la construcción de software. Los beneficios que genera la adición de un programador adicional se reduce y llegado a un momento genera pérdidas.

    La solución no es incorporar un programador más, por ahí la incorporación de un cuarto programador hace que todo ande.

    ESTIMACIÓN:

    Estimar qué recursos vamos a emplear en el proyecto, cuándo se necesitarán y por cuánto tiempo. Se realiza esta tarea al momento cero.

    Recursos de software (licencia), hardware, humanos.

    PROYECTO

    Ambientales y de entorno (HW y oficina)

    RRHH

    HW Y REDES

    Alquiler o compra de espacio físico (costos directos tipo electricidad que son insignificantes, no cuentan para el proyecto).

    RECURSOS DE software REUTILIZABLES

    Compra de una rutina, en vez de hacerlo lo compro.

    Experiencia completa: Desarrollo completo

    Experiencia parcial: Customizo

    Componentes nuevos

    La estimación es más un arte que una ciencia, y es muy difícil realizar una adecuada estimación.

    Afectada por:

    Claves:

    1. Cuando más adelante se haga la estimación, más certera será. Ej: Estoy en casa ¿voy a tardar?
    2. Descomponer el proyecto en partes facilita la estimación.
    3. Aunque es difícil puede desarrollarse un modelo empírico de cálculo de costos y esfuerzo.

    La mejor estimación es la que se hace al final, además es la más inútil.

    Generalmente, se pospone la estimación hasta contar con más información.

    No presupuestar todo el sistema pero sí partes. Cómo es diferente el mercado de la informática => no se usa esto (descomposición).

    Descomponer un proyecto en partes para hacer la estimación más entera. 2 formas:

    Herramientas automatizadas:

    Modelo COCOMO II (COnstructive COst MOdel)

    Desventaja: Se basa en líneas de código

    CALENDARIZACIÓN:

    Poner esas estimaciones en un calendario, ponerle fecha. Busco mantener el software dentro de los plazos previstos.

    Problemas:

    Habilidad, experiencia, pericia, utilización de herramientas (ej. Hs. Project) de quien lleva a cabo el proyecto son decisivas, a la hora de cumplir en tiempo y forma con lo pautado.

    Utilización de herramientas de calendarización, que colaboren en la tarea.

    Se encarga el PM (Project Manager/ Líder de Proyecto)

    PLAN DE PROYECTO

    Ojo con las fechas fijadas por fuera. Pero una fecha clave es fin de mes, para los pagos (le tengo que presentar la factura, y para ello necesito XXX ) .

    PERT -> Fecha de finalización

    Facilidad para ver el camino crítico (en rojo).

    GANTT: Actividades vistas en un calendario.

    Facilidad para ver las fechas del proyecto.

    El seguimiento del calendario implica:

    -Reuniones periódicas vinculadas con el estado y avance del proyecto.

    -Comparar fechas reales con las previstas.

    -Evaluar resultados con revisiones efectuadas.

    -Controlar el logro de los hitos formales del proyecto.

    -Reuniones y contratos formales para conocer el grado de avance.

    -Utilizar técnicas de seguimiento y control.

    Valor ganado: Estimó en función de lo que ya hice. Ej: Tiempo de un viaje en colectivo.

    Mido cada proyecto en base a la experiencia sobre el mismo proyecto (si cada tarea me lleva tanto tiempo entonces las demás…).

    -Ser prudentes, hábiles en realizar esto.

    -Avisar siempre que no se llega (dar alternativas). Ppio. de prudencia. Renegociar plazos. Ej: llego tarde => avisar con tiempo.

    DECISIÓN: Desarrollar internamente vs. Comprar

    ¿Qué puede comprarse?

    El software ya está desarrollado.

    1. Componentes ya desarrollados.
    2. Desarrollo a medida contratado a un tercero.

    ¿Qué debe evaluarse?

    1. ¿Qué porcentaje de mi operatoria cubre el sistema ya desarrollado?
    2. Puede ser cambiado o modificado en el futuro?
    3. ¿El plazo de entrega es menor al desarrollo interno? (ver cuánto tarda la entrega de desarrollo).
    4. ¿El costo será menor que un desarrollo?
    5. Cuánto sale el soporte?
    6. Existen costos ocultos o futuros? Si por ejemplo el costo del cambio es muy elevado por la implementación, entonces habrá un cambio radical de toda la infraestructura.

    Solución

    1. Desarrollo
    2. Paquete
    3. Outsourcing (total o parcial).

    Ventajas de 3)

    Desventajas

    Ver ejemplo de la empresa de transporte que en el 2000 revierte el proceso mediante el outsourcing.

    Consecuencia: Pérdida de ventajas competitivas de los outsourcers.

    Outsourcing en la nube.